﻿using SportsPlatform.Dto.SportBusiness.Information;
using SportsPlatform.Base;
using SportsPlatform.Query.SportBusiness.Information;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace SportsPlatform.SportBusiness.ISportBusiness
{
    /// <summary>
    /// 资讯管理服务接口
    /// </summary>
    public interface INewsService
    {
        /// <summary>
        /// 获取资讯分页数据
        /// </summary>
        /// <param name="pageQuery">查询条件</param>
        /// <returns></returns>
        Task<PagePagingDto<InformationDto>> GetPagePagingDto(GetInformationQuery pageQuery);

        /// <summary>
        /// 开始添加资讯信息
        /// </summary>
        /// <param name="addInformationQuery">传入参数</param>
        /// <returns></returns>
        Task<BaseResultDto> AddStart(AddInformationQuery addInformationQuery);

        /// <summary>
        /// 开始更新资讯信息
        /// </summary>
        /// <param name="updateInformationQuery">传入参数</param>
        /// <returns></returns>
        Task<BaseResultDto> UpdateStart(UpdateInformationQuery updateInformationQuery);

        /// <summary>
        /// 开始删除资讯信息
        /// </summary>
        /// <param name="deleteInformationQuery">传入参数</param>
        /// <returns></returns>
        Task<BaseResultDto> DeleteStart(DeleteInformationQuery deleteInformationQuery);

        /// <summary>
        /// 更新状态
        /// </summary>
        /// <param name="updateSateQuery">传入参数</param>
        /// <returns></returns>
        Task<BaseResultDto> UpdateStateStart(UpdateNewsSateQuery updateSateQuery);

        /// <summary>
        /// 通过标识获取对应资讯，并进行更新
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        Task<ResultDto<UpdateInformationQuery>> GetById(Guid id);
    }
}
